package top.suven.base.core.redis;

import top.suven.base.core.redis.ext.RedisEx;

/**
 * redis的key数据库，聚合管理
 * @author jahe
 *
 */
@RedisEx
public interface RedisKeys {

	int REDIS_NONE = -1;
	int ONE_REDIS_VALUE = 1;
	int TOW_REDIS_VALUE = 2;
	int THREE_REDIS_VALUE = 3;
	int FOUR_REDIS_VALUE = 4;
	int FIX_REDIS_VALUE = 5;
	int SIX_REDIS_VALUE = 6;
	int SEVEN_REDIS_VALUE = 7;
	int EIGHT_REDIS_VALUE = 8;
	int NINE_REDIS_VALUE = 9 ;
	int TEN_REDIS_VALUE  = 10;


	/** 记录用户的accessToken   key： access_token:id  value：accessToken */
	@RedisEx(redisKey=ONE_REDIS_VALUE)
	String AUTH_CODE="auth_code:";

	/** 记录用户的accessToken   key： access_token:id  value：accessToken */
	@RedisEx(redisKey=ONE_REDIS_VALUE)
	String ACCESS_TOKEN="access_token:";

	/** 记录用户的loginAccessToken   key： access_token:id  value：accessToken */
	@RedisEx(redisKey=ONE_REDIS_VALUE)
	String LOGIN_ACCESS_TOKEN="login_access_token:";

	/** 记录用户的refreshToken   key： refresh_token:id  value：refreshToken */
	@RedisEx(redisKey=ONE_REDIS_VALUE)
	String REFRESH_TOKEN="refresh_token:";

	/** 记录用户的refreshToken   key： refresh_token:id  value：refreshToken */
	@RedisEx(redisKey=ONE_REDIS_VALUE)
	String CLIENT_SECRET="client_secret:";

	/** 记录用户公告信息   key： notice_code:id  value：noticeJson */
	@RedisEx(redisKey=ONE_REDIS_VALUE)
	String USER_NOTICE_PAGE_FIRST="user_notice_page_first:";

	/** release 模块redis **/
	@RedisEx(redisKey=ONE_REDIS_VALUE)
	String PICTURE_MODULE_CODE="picture_module_module_code:";

	/**根据模块和客户端端类型查询图片的前缀*/
	@RedisEx(redisKey=ONE_REDIS_VALUE)
	String PICTURE_LIST_BY_MODULEID_CLIENT="picture_list_module_id_client:";

	/** tktask 模块redis **/
	@RedisEx(redisKey=ONE_REDIS_VALUE)
	String GET_TASK_BY_PARAMS="get_task_by_params:";

	@RedisEx(redisKey=ONE_REDIS_VALUE)
	String M_SCREEN_CAP="m_screen_cap:";

	/** mq 模块   key： mq_consumer:id  value：id */
	@RedisEx(redisKey=ONE_REDIS_VALUE)
	String MQ_CONSUMER="mq_consumer:";

	@RedisEx(redisKey=ONE_REDIS_VALUE)
	String SCREEN_CAP="screen_cap:";

	@RedisEx(redisKey=ONE_REDIS_VALUE)
	String SCREEN_CAP_ROTATE="screen_cap_rotate:";

	@RedisEx(redisKey=ONE_REDIS_VALUE)
	String LOGIN_KEY="login_key:";

	/** user_account模块 */
	@RedisEx(redisKey=ONE_REDIS_VALUE)
	String USER_ACCOUNT="user_account:";

	/** user模块 登录失败次数校验-用户存在情况*/
	@RedisEx(redisKey=ONE_REDIS_VALUE)
	public String USER_LOGIN_FAILED_USER_NAME="failed_key_by_user_name:";

	/** user模块 登录失败次数校验-用户不存在的情况*/
	@RedisEx(redisKey=ONE_REDIS_VALUE)
	public String USER_LOGIN_FAILED_SESSION_ID="failed_key_by_seesion_id:";

	/**根据设备唯一码查用户申请体验设备数量*/
	@RedisEx(redisKey=ONE_REDIS_VALUE)
	public static String PADUNIQUE_COUNT = "padunique_count:";

	/**登录保存图形验证码到redis key的前缀**/
	@RedisEx(redisKey=ONE_REDIS_VALUE)
	String LOGIN_IMG_CODE = "login_imgcode_";

	/**注册保存图形验证码到redis key的前缀**/
	@RedisEx(redisKey=ONE_REDIS_VALUE)
	String SIGNUP_IMG_CODE_ = "signup_imgcode_";

	/**第三方绑定手机号码保存图形验证码到redis key的前缀**/
	@RedisEx(redisKey=ONE_REDIS_VALUE)
	String BIND_USER_PHONE_IMG_CODE_ = "bind_imgcode_";

	/**第三方绑定手机号码保存手机号码到redis key的前缀*/
	String SMS_BIND_PHONE_MOBILE_ = "pbind_phone_";

	/**第三方绑定手机号码保存短信验证码到redis key的前缀*/
	String SMS_BIND_PHONE_CODE_= "pbind_imgcode_";

	/**解绑邮箱保存图形验证码到redis key的前缀**/
	@RedisEx(redisKey=ONE_REDIS_VALUE)
	String SMS_UNBIND_EMAIL_IMG_CODE_ = "unbind_email_imgcode_";

	/**解绑邮箱保存手机号码到redis key的前缀*/
	String SMS_UNBIND_EMAIL_MOBILE_ = "sms_unbind_email_mobile_";

	/**解绑邮箱保存短信验证码到redis key的前缀*/
	String SMS_UNBIND_EMAIL_CODE_= "sms_unbind_email_code_";

	/**申请普通设备保存图形验证码到redis key的前缀**/
	@RedisEx(redisKey=ONE_REDIS_VALUE)
	String SMS_BIND_PAD_IMG_CODE = "bind_free_smscode_";

	/**申请普通设备保存手机号码到redis key的前缀*/
	String SMS_BIND_PAD_MOBILE_ = "sms_bind_pad_mobile_";

	/**申请普通设备保存短信验证码到redis key的前缀*/
	String SMS_BIND_PAD_CODE_= "sms_bind_pad_code_";

	/**忘记密保存收集号码到redis key的前缀**/
	String SMS_RESET_PHONE_ = "reset_phone_";
	/**忘记密码保存短信验证码到redis key的前缀**/
	String SMS_RESET_IMG_CODE_ = "reset_imgcode_";

	/**同一ip或cuid申请体验设备时间限制**/
	@RedisEx(redisKey=ONE_REDIS_VALUE)
	String CONFIG_TASTE_PAD_IP_LIMIT_TIME = "config_taste_pad_ip_limit_time:";

	/**同一ip或cuid申请体验设备数量限制**/
	@RedisEx(redisKey=ONE_REDIS_VALUE)
	String CONFIG_TASTE_PAD_IP_LIMIT_COUNT = "config_taste_pad_ip_limit_count:";

	/** 申请体验设备IP限制的redis中key的前缀*/
	@RedisEx(redisKey=ONE_REDIS_VALUE)
	String TASTE_PAD_LIMIT_IP_ = "taste_pad_limit_ip:";

	/** 申请体验设备cuid限制的redis中key的前缀*/
	@RedisEx(redisKey=ONE_REDIS_VALUE)
	String TASTE_PAD_LIMIT_CUID_ = "taste_pad_limit_cuid:";

	/** 用户绑定设备错误次数 */
	String BIND_PAD_FAILED_COUNT = "bind_pad_failed_count:";

	/**用户是否在一天内关闭图片的redis前缀**/
	@RedisEx(redisKey=ONE_REDIS_VALUE)
	String IS_CLOOSE_PICTURE = "is_cloose_picture:";

	/**同一个padUnique只能申请一个设备的rediskey前缀*/
	@RedisEx(redisKey=ONE_REDIS_VALUE)
	String BIND_TASTE_PAD_UNIQUE = "bind_taste_pad_unique:";

	/**文件上传前缀*/
	@RedisEx(redisKey=ONE_REDIS_VALUE)
	String UPLOAD_PREFIX = "upload_";

	/**任务栏前缀*/
	@RedisEx(redisKey=ONE_REDIS_VALUE)
	String DISCOVER_TASK_MODULE = "discover_task_module:";

	/**登录后用户的渠道*/
	@RedisEx(redisKey=ONE_REDIS_VALUE)
	String CHANNEL_CODE = "channel_code:";

	/**账号类型和账号查询账号表的前缀*/
	@RedisEx(redisKey=ONE_REDIS_VALUE)
	String ACCOUNT_TYPE_NAME = "account_type_name:";

	/**邮箱查询用户的前缀*/
	@RedisEx(redisKey=ONE_REDIS_VALUE)
	String USER_EMAIL = "user_email:";

	/**手机查询用户的前缀*/
	@RedisEx(redisKey=ONE_REDIS_VALUE)
	String USER_MOBILE_PHONE = "user_mobile_phone:";

	/**OPENID查询用户的前缀*/
	@RedisEx(redisKey=ONE_REDIS_VALUE)
	String OPENIDTYPE_OPENID = "user_openidType_openid:";

	/**unionid查询用户的前缀*/
	@RedisEx(redisKey=ONE_REDIS_VALUE)
	String OPENIDTYPE_UNIONID = "user_openidType_unionid:";

	/**imei查询用户信息的前缀*/
	@RedisEx(redisKey=ONE_REDIS_VALUE)
	String USER_DATA_IMEI = "user_data_imei:";

	/**imei和mac查询用户信息的前缀*/
	@RedisEx(redisKey=ONE_REDIS_VALUE)
	String USER_DATA_IMEI_MAC = "user_data_imei_mac:";


	/**clientType查询资讯的前缀*/
	@RedisEx(redisKey=ONE_REDIS_VALUE)
	String INFORMATION_CLIENT_TYPE = "information_client_type:";

	/**用户和时间查询公告的前缀*/
	@RedisEx(redisKey=ONE_REDIS_VALUE)
	String NOTICE_USER_ID_NOWTIME = "notice_user_id_now_time:";

	/**用户和时间查询用户公告的前缀*/
	@RedisEx(redisKey=ONE_REDIS_VALUE)
	String USERNOTICE_USER_ID_NOWTIME = "user_notice_user_id_now_time:";

	/**用户和时间查询公告和通知的前缀*/
	@RedisEx(redisKey=ONE_REDIS_VALUE)
	String NOTICEMSG_USER_ID = "notice_msg_user_id:";

	/**平台和分享类型找分享对象的前缀*/
	@RedisEx(redisKey=ONE_REDIS_VALUE)
	String SHARE_CLIENT_SHARETYPE = "share_client_share_type:";

	/**用户id，资讯id查询个数的前缀*/
	@RedisEx(redisKey=ONE_REDIS_VALUE)
	String LOOK_INFORMATION_USER_ID = "information_look_user_id:";

	/**用户id设备id查询设备授权的前缀*/
	@RedisEx(redisKey=ONE_REDIS_VALUE)
	String PADGRANT_USERID_PAD_ID = "pad_grant_user_id_pad_id:";

	/**设备授权的前缀： 设备ID_授权用户ID_授权类型*/
	@RedisEx(redisKey=ONE_REDIS_VALUE)
	String PADGRANT_PADID_GRANTORUSERID_GRANTTYPE = "padGrant_padId_grantorUserId_grantType:";

	/**用户设备id查询设备授权码*/
	@RedisEx(redisKey=ONE_REDIS_VALUE)
	String PAD_GRANT_CODE_USER_PAD_ID = "pad_grant_code_user_pad_id:";

	/**根据用户查询用户设备的前缀*/
	@RedisEx(redisKey=ONE_REDIS_VALUE)
	String USERPAD_USERID = "user_pad_userId:";

	/**根据渠道编码和客户端类型查询渠道的前缀*/
	@RedisEx(redisKey=ONE_REDIS_VALUE)
	String CHANNEL_CHANNELCODE_CLIENTTYPE = "channel_code_client_type:";

	/**根据渠道编码和客户端类型查询渠道版本的前缀*/
	@RedisEx(redisKey=ONE_REDIS_VALUE)
	String CHANNELVERSION_CHANNELCODE_OSTYPE = "channel_code_os_type:";

	/**根据用户和时间查询图片日志的前缀*/
	@RedisEx(redisKey=ONE_REDIS_VALUE)
	String LOGPICTURE_USERID_CREATETIME = "log_picture_user_id_create_time:";

	/**根据configCode查询config的前缀*/
	@RedisEx(redisKey=ONE_REDIS_VALUE)
	String CONFIG_CONFIGCODE = "config_config_code:";

	/**category和value查询dict的前缀*/
	@RedisEx(redisKey=ONE_REDIS_VALUE)
	String DICT_CATEGORY_VALUE = "dict_category_value:";

	/**优惠卷id查询优惠卷产品的前缀*/
	@RedisEx(redisKey=ONE_REDIS_VALUE)
	String COUPONGOODS_COUPONID = "coupon_goods_coupon_id:";

	/**商品类型id集合查询商品信息*/
	@RedisEx(redisKey=ONE_REDIS_VALUE)
	String GOODSINFO_GOODSTYPEIDS = "goods_info_goods_type_ids:";

	/**等级查询设备用户游戏使用情况的前缀*/
	@RedisEx(redisKey=ONE_REDIS_VALUE)
	String SCOREGRADE_GRADE = "score_grade:";

	/**用户ID查询钱包的前缀*/
	@RedisEx(redisKey=ONE_REDIS_VALUE)
	String WALLET_USERID = "wallet_user_id:";

	/**活动编码查询活动的前缀*/
	@RedisEx(redisKey=ONE_REDIS_VALUE)
	String ACTIVITY_ACTIVITYCODE = "activity_code:";

	/**活动id和邀请人id查询活动记录的前缀*/
	@RedisEx(redisKey=ONE_REDIS_VALUE)
	String ACITIVITYRECORD_ACTIVITYID_INVITEEID = "activity_id_invitee_id:";

	/**任务id查询任务奖励的前缀*/
	@RedisEx(redisKey=ONE_REDIS_VALUE)
	String TASKAWARD_TASKID = "task_award_task_id:";

	/**父任务id查询任务奖励的前缀*/
	@RedisEx(redisKey=ONE_REDIS_VALUE)
	String TASKAWARD_PARENTTASKID = "task_award_parent_task_id:";

	/**任务编码查询任务的前缀*/
	@RedisEx(redisKey=ONE_REDIS_VALUE)
	String TASK_TASKCODE = "task_task_code:";

	/**父任务查询任务的前缀*/
	@RedisEx(redisKey=ONE_REDIS_VALUE)
	String TASK_PARENTTASKID = "task_parent_task_id:";

	/** 项目启用维护模式 */
	@RedisEx(redisKey=ONE_REDIS_VALUE)
	String OAUTH_MAINTAIN = "oauth_maintain:";

	/**等级查询红豆兑换的前缀*/
	@RedisEx(redisKey=ONE_REDIS_VALUE)
	String PAD_PRS_PADGRADE = "pad_padRbcStand_padGrade:";

	/**客户端类型查询支付方式的前缀*/
	@RedisEx(redisKey=ONE_REDIS_VALUE)
	String PAY_OSTYPE = "pay_payMode_osType:";

	/**控制节点编码查询的前缀*/
	@RedisEx(redisKey=ONE_REDIS_VALUE)
	String PAD_CONTROL_CONTROLCODES = "pad_contrl_control_codes:";

	/**控制节点类型查询的前缀*/
	@RedisEx(redisKey=ONE_REDIS_VALUE)
	String PAD_CONTROL_CONTROLTYPE = "pad_contrl_control_type:";

	/**视频节点查询的前缀*/
	@RedisEx(redisKey=ONE_REDIS_VALUE)
	String PAD_VIDEO_VIDEOCODES = "pad_video_video_codes:";

	/**维护设备列表的前缀*/
	@RedisEx(redisKey=ONE_REDIS_VALUE)
	String PAD_LIST_MAINT_STATTUS = "pad_list_maint_status:";

	/**分组id查询用户设备分组查询的前缀*/
	@RedisEx(redisKey=ONE_REDIS_VALUE)
	String PAD_USERPADGROUP_GROUPID = "pad_upg_group_id:";

	/** redis中设备状态前缀*/
	@RedisEx(redisKey=ONE_REDIS_VALUE)
	String RENEWAL_PAD_STATUS = "pad:status:";

	/** redis中设备更换数量key*/
	@RedisEx(redisKey=ONE_REDIS_VALUE)
	String RENEWAL_PAD_COUNT = "renewal_offline_pad_count";

	/** redis中设备离线数量key*/
	@RedisEx(redisKey=ONE_REDIS_VALUE)
	String PAD_OFFLINE_COUNT = "pad:offline:count";

	/** configCode集合查询的前缀*/
	@RedisEx(redisKey=ONE_REDIS_VALUE)
	String CONFIG_CONFIGCODES = "config_configCodes:";

	/**注册保存短信验证码到redis key的前缀**/
	@RedisEx(redisKey=ONE_REDIS_VALUE)
	String SIGNUP_PHONECODE = "signup_phonecode_";

	/**注册保存手机号码到redis key的前缀**/
	@RedisEx(redisKey=ONE_REDIS_VALUE)
	String SIGNUP_PHONE = "signup_phone_";

	/**设备列表是否刷新key**/
	@RedisEx(redisKey=ONE_REDIS_VALUE)
	String PAD_PADLIST_NEEDREFRESH_PADCODES = "pad_padlist_needrefresh_padcodes:";

	/** 绑定设备失败次数 */
	@RedisEx(redisKey=ONE_REDIS_VALUE)
	String PAD_BINDPAD_FAILED_COUNT = "bindPadFailedCount_";

	/** 绑定设备验证码 */
	@RedisEx(redisKey=ONE_REDIS_VALUE)
	String GRAND_CODE_BIND_IMGCODE = "GRAND_CODE_BIND_IMGCODE_";

	/**用户公告未读条数*/
    @RedisEx(redisKey=ONE_REDIS_VALUE)
	String USER_NOTICE_INDIV_NO_READ = "USER_NOTICE_INDIV_NO_READ";

	/** 完成任务是否完成优惠券奖励 */
	@RedisEx(redisKey=ONE_REDIS_VALUE)
	String TASK_AWARD_COUPON_ISSAVE = "task_award_coupon_issave:";

	/** 完成任务是否完成激活码奖励 */
	@RedisEx(redisKey=ONE_REDIS_VALUE)
	String TASK_AWARD_ACTIVATION_CODE_ISSAVE = "task_award_activation_code_issave:";

	/** 完成任务奖励-是否保存 */
	@RedisEx(redisKey=ONE_REDIS_VALUE)
	String TASK_AWARD_ASSETS_ISSAVE = "task_award_assets_issave:";


	/**绑定设备发送短信次数*/
	@RedisEx(redisKey=ONE_REDIS_VALUE)
	String SMS_BIND_PAD_COUNT = "sms_bind_pad_count";

	@RedisEx(redisKey=ONE_REDIS_VALUE)
	String USER_IP = "user_ip:";

	@RedisEx(redisKey=ONE_REDIS_VALUE)
	String USER_PROVINCE = "user_province:";
	//用户一周的注册信息
	@RedisEx(redisKey=ONE_REDIS_VALUE)
	String USER_WEEK_REGISTER_INFO = "user_week_register_info:";
	//用户注册统计信息同比，环比
	@RedisEx(redisKey=ONE_REDIS_VALUE)
	String USER_REGISTER_STATISTIC_INFO = "user_register_statistic_info:";
	//用户注册统计信息日整涨
	@RedisEx(redisKey=ONE_REDIS_VALUE)
	String USER_REGISTER_DAY_STATISTIC = "user_register_day_statistic:";
	//用户客户端登录信息
	@RedisEx(redisKey=ONE_REDIS_VALUE)
	String LOG_LOGIN_CLIENT_INFO = "log_login_client_info:";
	//用户登录日增长率
	@RedisEx(redisKey=ONE_REDIS_VALUE)
	String LOG_LOGIN_STATISTIC_INFO = "log_login_statistic_info:";
	//用户付费转化率
	@RedisEx(redisKey=ONE_REDIS_VALUE)
	String ORDER_STATISTIC_INFO = "order_statistic_info:";


	/** 验证服务的缓存临时前缀key */
	@RedisEx(redisKey=ONE_REDIS_VALUE)
	String OAUTH_CODE = "oauth_code:";

	@RedisEx(redisKey=ONE_REDIS_VALUE)
	String OAUTH_USER_ID_TOKEN_MAP = "oauth_user_id_token:";

	@RedisEx(redisKey=ONE_REDIS_VALUE)
	String OAUTH_USER_REFRESH_TOKEN_MAP = "oauth_user_refresh_token:";
}


